/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package org.dengues.model.component;

import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EObject;

/**
 * <!-- begin-user-doc -->
 * A representation of the model object '<em><b>PARAMETER Type</b></em>'.
 * <!-- end-user-doc -->
 *
 * <p>
 * The following features are supported:
 * <ul>
 *   <li>{@link org.dengues.model.component.PARAMETERType#getITEMS <em>ITEMS</em>}</li>
 *   <li>{@link org.dengues.model.component.PARAMETERType#getCOLMUN <em>COLMUN</em>}</li>
 *   <li>{@link org.dengues.model.component.PARAMETERType#isBASESHEMA <em>BASESHEMA</em>}</li>
 *   <li>{@link org.dengues.model.component.PARAMETERType#getCONTEXT <em>CONTEXT</em>}</li>
 *   <li>{@link org.dengues.model.component.PARAMETERType#getDEFAULT <em>DEFAULT</em>}</li>
 *   <li>{@link org.dengues.model.component.PARAMETERType#getFIELD <em>FIELD</em>}</li>
 *   <li>{@link org.dengues.model.component.PARAMETERType#isIFREADONLY <em>IFREADONLY</em>}</li>
 *   <li>{@link org.dengues.model.component.PARAMETERType#isIFREQUIRED <em>IFREQUIRED</em>}</li>
 *   <li>{@link org.dengues.model.component.PARAMETERType#isIFSHOW <em>IFSHOW</em>}</li>
 *   <li>{@link org.dengues.model.component.PARAMETERType#getNAME <em>NAME</em>}</li>
 *   <li>{@link org.dengues.model.component.PARAMETERType#getNBLINES <em>NBLINES</em>}</li>
 *   <li>{@link org.dengues.model.component.PARAMETERType#getREPOSITORYVALUE <em>REPOSITORYVALUE</em>}</li>
 *   <li>{@link org.dengues.model.component.PARAMETERType#getROWNUM <em>ROWNUM</em>}</li>
 * </ul>
 * </p>
 *
 * @see org.dengues.model.component.ComponentPackage#getPARAMETERType()
 * @model extendedMetaData="name='PARAMETER_._type' kind='elementOnly'"
 * @generated
 */
public interface PARAMETERType extends EObject {
    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    String copyright = "// ============================================================================\r\n//\r\n// Copyright (C) 2006-2007 Dengues\r\n//\r\n// Google Group: http://groups.google.com/group/dengues\r\n// QQ Group: 24885404\r\n//\r\n// This library is free software; you can redistribute it and/or\r\n// modify it under the terms of the GNU Lesser General Public\r\n// License as published by the Free Software Foundation; either\r\n// version 2.1 of the License.\r\n//\r\n// This library is distributed in the hope that it will be useful,\r\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\r\n// Lesser General Public License for more details.\r\n//\r\n// You should have received a copy of the GNU General Public License\r\n// along with this program; if not, write to the Free Software\r\n// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.\r\n//\r\n// ============================================================================\r\n";

    /**
     * Returns the value of the '<em><b>ITEMS</b></em>' containment reference.
     * <!-- begin-user-doc -->
     * <p>
     * If the meaning of the '<em>ITEMS</em>' containment reference isn't clear,
     * there really should be more of a description here...
     * </p>
     * <!-- end-user-doc -->
     * @return the value of the '<em>ITEMS</em>' containment reference.
     * @see #setITEMS(ITEMSType)
     * @see org.dengues.model.component.ComponentPackage#getPARAMETERType_ITEMS()
     * @model containment="true"
     *        extendedMetaData="kind='element' name='ITEMS' namespace='##targetNamespace'"
     * @generated
     */
    ITEMSType getITEMS();

    /**
     * Sets the value of the '{@link org.dengues.model.component.PARAMETERType#getITEMS <em>ITEMS</em>}' containment reference.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @param value the new value of the '<em>ITEMS</em>' containment reference.
     * @see #getITEMS()
     * @generated
     */
    void setITEMS(ITEMSType value);

    /**
     * Returns the value of the '<em><b>COLMUN</b></em>' containment reference list.
     * The list contents are of type {@link org.dengues.model.component.COLMUNType}.
     * <!-- begin-user-doc -->
     * <p>
     * If the meaning of the '<em>COLMUN</em>' containment reference list isn't clear,
     * there really should be more of a description here...
     * </p>
     * <!-- end-user-doc -->
     * @return the value of the '<em>COLMUN</em>' containment reference list.
     * @see org.dengues.model.component.ComponentPackage#getPARAMETERType_COLMUN()
     * @model containment="true"
     *        extendedMetaData="kind='element' name='COLMUN' namespace='##targetNamespace'"
     * @generated
     */
    EList<COLMUNType> getCOLMUN();

    /**
     * Returns the value of the '<em><b>BASESHEMA</b></em>' attribute.
     * <!-- begin-user-doc -->
     * <p>
     * If the meaning of the '<em>BASESHEMA</em>' attribute isn't clear,
     * there really should be more of a description here...
     * </p>
     * <!-- end-user-doc -->
     * @return the value of the '<em>BASESHEMA</em>' attribute.
     * @see #isSetBASESHEMA()
     * @see #unsetBASESHEMA()
     * @see #setBASESHEMA(boolean)
     * @see org.dengues.model.component.ComponentPackage#getPARAMETERType_BASESHEMA()
     * @model unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.Boolean"
     *        extendedMetaData="kind='attribute' name='BASE_SHEMA' namespace='##targetNamespace'"
     * @generated
     */
    boolean isBASESHEMA();

    /**
     * Sets the value of the '{@link org.dengues.model.component.PARAMETERType#isBASESHEMA <em>BASESHEMA</em>}' attribute.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @param value the new value of the '<em>BASESHEMA</em>' attribute.
     * @see #isSetBASESHEMA()
     * @see #unsetBASESHEMA()
     * @see #isBASESHEMA()
     * @generated
     */
    void setBASESHEMA(boolean value);

    /**
     * Unsets the value of the '{@link org.dengues.model.component.PARAMETERType#isBASESHEMA <em>BASESHEMA</em>}' attribute.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see #isSetBASESHEMA()
     * @see #isBASESHEMA()
     * @see #setBASESHEMA(boolean)
     * @generated
     */
    void unsetBASESHEMA();

    /**
     * Returns whether the value of the '{@link org.dengues.model.component.PARAMETERType#isBASESHEMA <em>BASESHEMA</em>}' attribute is set.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @return whether the value of the '<em>BASESHEMA</em>' attribute is set.
     * @see #unsetBASESHEMA()
     * @see #isBASESHEMA()
     * @see #setBASESHEMA(boolean)
     * @generated
     */
    boolean isSetBASESHEMA();

    /**
     * Returns the value of the '<em><b>CONTEXT</b></em>' attribute.
     * <!-- begin-user-doc -->
     * <p>
     * If the meaning of the '<em>CONTEXT</em>' attribute isn't clear,
     * there really should be more of a description here...
     * </p>
     * <!-- end-user-doc -->
     * @return the value of the '<em>CONTEXT</em>' attribute.
     * @see #setCONTEXT(String)
     * @see org.dengues.model.component.ComponentPackage#getPARAMETERType_CONTEXT()
     * @model dataType="org.eclipse.emf.ecore.xml.type.String"
     *        extendedMetaData="kind='attribute' name='CONTEXT' namespace='##targetNamespace'"
     * @generated
     */
    String getCONTEXT();

    /**
     * Sets the value of the '{@link org.dengues.model.component.PARAMETERType#getCONTEXT <em>CONTEXT</em>}' attribute.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @param value the new value of the '<em>CONTEXT</em>' attribute.
     * @see #getCONTEXT()
     * @generated
     */
    void setCONTEXT(String value);

    /**
     * Returns the value of the '<em><b>DEFAULT</b></em>' attribute.
     * <!-- begin-user-doc -->
     * <p>
     * If the meaning of the '<em>DEFAULT</em>' attribute isn't clear,
     * there really should be more of a description here...
     * </p>
     * <!-- end-user-doc -->
     * @return the value of the '<em>DEFAULT</em>' attribute.
     * @see #setDEFAULT(String)
     * @see org.dengues.model.component.ComponentPackage#getPARAMETERType_DEFAULT()
     * @model dataType="org.eclipse.emf.ecore.xml.type.String"
     *        extendedMetaData="kind='attribute' name='DEFAULT' namespace='##targetNamespace'"
     * @generated
     */
    String getDEFAULT();

    /**
     * Sets the value of the '{@link org.dengues.model.component.PARAMETERType#getDEFAULT <em>DEFAULT</em>}' attribute.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @param value the new value of the '<em>DEFAULT</em>' attribute.
     * @see #getDEFAULT()
     * @generated
     */
    void setDEFAULT(String value);

    /**
     * Returns the value of the '<em><b>FIELD</b></em>' attribute.
     * <!-- begin-user-doc -->
     * <p>
     * If the meaning of the '<em>FIELD</em>' attribute isn't clear,
     * there really should be more of a description here...
     * </p>
     * <!-- end-user-doc -->
     * @return the value of the '<em>FIELD</em>' attribute.
     * @see #setFIELD(String)
     * @see org.dengues.model.component.ComponentPackage#getPARAMETERType_FIELD()
     * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
     *        extendedMetaData="kind='attribute' name='FIELD' namespace='##targetNamespace'"
     * @generated
     */
    String getFIELD();

    /**
     * Sets the value of the '{@link org.dengues.model.component.PARAMETERType#getFIELD <em>FIELD</em>}' attribute.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @param value the new value of the '<em>FIELD</em>' attribute.
     * @see #getFIELD()
     * @generated
     */
    void setFIELD(String value);

    /**
     * Returns the value of the '<em><b>IFREADONLY</b></em>' attribute.
     * <!-- begin-user-doc -->
     * <p>
     * If the meaning of the '<em>IFREADONLY</em>' attribute isn't clear,
     * there really should be more of a description here...
     * </p>
     * <!-- end-user-doc -->
     * @return the value of the '<em>IFREADONLY</em>' attribute.
     * @see #isSetIFREADONLY()
     * @see #unsetIFREADONLY()
     * @see #setIFREADONLY(boolean)
     * @see org.dengues.model.component.ComponentPackage#getPARAMETERType_IFREADONLY()
     * @model unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.Boolean"
     *        extendedMetaData="kind='attribute' name='IFREADONLY' namespace='##targetNamespace'"
     * @generated
     */
    boolean isIFREADONLY();

    /**
     * Sets the value of the '{@link org.dengues.model.component.PARAMETERType#isIFREADONLY <em>IFREADONLY</em>}' attribute.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @param value the new value of the '<em>IFREADONLY</em>' attribute.
     * @see #isSetIFREADONLY()
     * @see #unsetIFREADONLY()
     * @see #isIFREADONLY()
     * @generated
     */
    void setIFREADONLY(boolean value);

    /**
     * Unsets the value of the '{@link org.dengues.model.component.PARAMETERType#isIFREADONLY <em>IFREADONLY</em>}' attribute.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see #isSetIFREADONLY()
     * @see #isIFREADONLY()
     * @see #setIFREADONLY(boolean)
     * @generated
     */
    void unsetIFREADONLY();

    /**
     * Returns whether the value of the '{@link org.dengues.model.component.PARAMETERType#isIFREADONLY <em>IFREADONLY</em>}' attribute is set.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @return whether the value of the '<em>IFREADONLY</em>' attribute is set.
     * @see #unsetIFREADONLY()
     * @see #isIFREADONLY()
     * @see #setIFREADONLY(boolean)
     * @generated
     */
    boolean isSetIFREADONLY();

    /**
     * Returns the value of the '<em><b>IFREQUIRED</b></em>' attribute.
     * <!-- begin-user-doc -->
     * <p>
     * If the meaning of the '<em>IFREQUIRED</em>' attribute isn't clear,
     * there really should be more of a description here...
     * </p>
     * <!-- end-user-doc -->
     * @return the value of the '<em>IFREQUIRED</em>' attribute.
     * @see #isSetIFREQUIRED()
     * @see #unsetIFREQUIRED()
     * @see #setIFREQUIRED(boolean)
     * @see org.dengues.model.component.ComponentPackage#getPARAMETERType_IFREQUIRED()
     * @model unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.Boolean"
     *        extendedMetaData="kind='attribute' name='IFREQUIRED' namespace='##targetNamespace'"
     * @generated
     */
    boolean isIFREQUIRED();

    /**
     * Sets the value of the '{@link org.dengues.model.component.PARAMETERType#isIFREQUIRED <em>IFREQUIRED</em>}' attribute.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @param value the new value of the '<em>IFREQUIRED</em>' attribute.
     * @see #isSetIFREQUIRED()
     * @see #unsetIFREQUIRED()
     * @see #isIFREQUIRED()
     * @generated
     */
    void setIFREQUIRED(boolean value);

    /**
     * Unsets the value of the '{@link org.dengues.model.component.PARAMETERType#isIFREQUIRED <em>IFREQUIRED</em>}' attribute.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see #isSetIFREQUIRED()
     * @see #isIFREQUIRED()
     * @see #setIFREQUIRED(boolean)
     * @generated
     */
    void unsetIFREQUIRED();

    /**
     * Returns whether the value of the '{@link org.dengues.model.component.PARAMETERType#isIFREQUIRED <em>IFREQUIRED</em>}' attribute is set.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @return whether the value of the '<em>IFREQUIRED</em>' attribute is set.
     * @see #unsetIFREQUIRED()
     * @see #isIFREQUIRED()
     * @see #setIFREQUIRED(boolean)
     * @generated
     */
    boolean isSetIFREQUIRED();

    /**
     * Returns the value of the '<em><b>IFSHOW</b></em>' attribute.
     * The default value is <code>"true"</code>.
     * <!-- begin-user-doc -->
     * <p>
     * If the meaning of the '<em>IFSHOW</em>' attribute isn't clear,
     * there really should be more of a description here...
     * </p>
     * <!-- end-user-doc -->
     * @return the value of the '<em>IFSHOW</em>' attribute.
     * @see #isSetIFSHOW()
     * @see #unsetIFSHOW()
     * @see #setIFSHOW(boolean)
     * @see org.dengues.model.component.ComponentPackage#getPARAMETERType_IFSHOW()
     * @model default="true" unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.Boolean"
     *        extendedMetaData="kind='attribute' name='IFSHOW' namespace='##targetNamespace'"
     * @generated
     */
    boolean isIFSHOW();

    /**
     * Sets the value of the '{@link org.dengues.model.component.PARAMETERType#isIFSHOW <em>IFSHOW</em>}' attribute.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @param value the new value of the '<em>IFSHOW</em>' attribute.
     * @see #isSetIFSHOW()
     * @see #unsetIFSHOW()
     * @see #isIFSHOW()
     * @generated
     */
    void setIFSHOW(boolean value);

    /**
     * Unsets the value of the '{@link org.dengues.model.component.PARAMETERType#isIFSHOW <em>IFSHOW</em>}' attribute.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see #isSetIFSHOW()
     * @see #isIFSHOW()
     * @see #setIFSHOW(boolean)
     * @generated
     */
    void unsetIFSHOW();

    /**
     * Returns whether the value of the '{@link org.dengues.model.component.PARAMETERType#isIFSHOW <em>IFSHOW</em>}' attribute is set.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @return whether the value of the '<em>IFSHOW</em>' attribute is set.
     * @see #unsetIFSHOW()
     * @see #isIFSHOW()
     * @see #setIFSHOW(boolean)
     * @generated
     */
    boolean isSetIFSHOW();

    /**
     * Returns the value of the '<em><b>NAME</b></em>' attribute.
     * <!-- begin-user-doc -->
     * <p>
     * If the meaning of the '<em>NAME</em>' attribute isn't clear,
     * there really should be more of a description here...
     * </p>
     * <!-- end-user-doc -->
     * @return the value of the '<em>NAME</em>' attribute.
     * @see #setNAME(String)
     * @see org.dengues.model.component.ComponentPackage#getPARAMETERType_NAME()
     * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
     *        extendedMetaData="kind='attribute' name='NAME' namespace='##targetNamespace'"
     * @generated
     */
    String getNAME();

    /**
     * Sets the value of the '{@link org.dengues.model.component.PARAMETERType#getNAME <em>NAME</em>}' attribute.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @param value the new value of the '<em>NAME</em>' attribute.
     * @see #getNAME()
     * @generated
     */
    void setNAME(String value);

    /**
     * Returns the value of the '<em><b>NBLINES</b></em>' attribute.
     * <!-- begin-user-doc -->
     * <p>
     * If the meaning of the '<em>NBLINES</em>' attribute isn't clear,
     * there really should be more of a description here...
     * </p>
     * <!-- end-user-doc -->
     * @return the value of the '<em>NBLINES</em>' attribute.
     * @see #isSetNBLINES()
     * @see #unsetNBLINES()
     * @see #setNBLINES(int)
     * @see org.dengues.model.component.ComponentPackage#getPARAMETERType_NBLINES()
     * @model unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.Int"
     *        extendedMetaData="kind='attribute' name='NB_LINES' namespace='##targetNamespace'"
     * @generated
     */
    int getNBLINES();

    /**
     * Sets the value of the '{@link org.dengues.model.component.PARAMETERType#getNBLINES <em>NBLINES</em>}' attribute.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @param value the new value of the '<em>NBLINES</em>' attribute.
     * @see #isSetNBLINES()
     * @see #unsetNBLINES()
     * @see #getNBLINES()
     * @generated
     */
    void setNBLINES(int value);

    /**
     * Unsets the value of the '{@link org.dengues.model.component.PARAMETERType#getNBLINES <em>NBLINES</em>}' attribute.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see #isSetNBLINES()
     * @see #getNBLINES()
     * @see #setNBLINES(int)
     * @generated
     */
    void unsetNBLINES();

    /**
     * Returns whether the value of the '{@link org.dengues.model.component.PARAMETERType#getNBLINES <em>NBLINES</em>}' attribute is set.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @return whether the value of the '<em>NBLINES</em>' attribute is set.
     * @see #unsetNBLINES()
     * @see #getNBLINES()
     * @see #setNBLINES(int)
     * @generated
     */
    boolean isSetNBLINES();

    /**
     * Returns the value of the '<em><b>REPOSITORYVALUE</b></em>' attribute.
     * <!-- begin-user-doc -->
     * <p>
     * If the meaning of the '<em>REPOSITORYVALUE</em>' attribute isn't clear,
     * there really should be more of a description here...
     * </p>
     * <!-- end-user-doc -->
     * @return the value of the '<em>REPOSITORYVALUE</em>' attribute.
     * @see #setREPOSITORYVALUE(String)
     * @see org.dengues.model.component.ComponentPackage#getPARAMETERType_REPOSITORYVALUE()
     * @model dataType="org.eclipse.emf.ecore.xml.type.String"
     *        extendedMetaData="kind='attribute' name='REPOSITORYVALUE' namespace='##targetNamespace'"
     * @generated
     */
    String getREPOSITORYVALUE();

    /**
     * Sets the value of the '{@link org.dengues.model.component.PARAMETERType#getREPOSITORYVALUE <em>REPOSITORYVALUE</em>}' attribute.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @param value the new value of the '<em>REPOSITORYVALUE</em>' attribute.
     * @see #getREPOSITORYVALUE()
     * @generated
     */
    void setREPOSITORYVALUE(String value);

    /**
     * Returns the value of the '<em><b>ROWNUM</b></em>' attribute.
     * <!-- begin-user-doc -->
     * <p>
     * If the meaning of the '<em>ROWNUM</em>' attribute isn't clear,
     * there really should be more of a description here...
     * </p>
     * <!-- end-user-doc -->
     * @return the value of the '<em>ROWNUM</em>' attribute.
     * @see #isSetROWNUM()
     * @see #unsetROWNUM()
     * @see #setROWNUM(int)
     * @see org.dengues.model.component.ComponentPackage#getPARAMETERType_ROWNUM()
     * @model unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.Int" required="true"
     *        extendedMetaData="kind='attribute' name='ROW_NUM' namespace='##targetNamespace'"
     * @generated
     */
    int getROWNUM();

    /**
     * Sets the value of the '{@link org.dengues.model.component.PARAMETERType#getROWNUM <em>ROWNUM</em>}' attribute.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @param value the new value of the '<em>ROWNUM</em>' attribute.
     * @see #isSetROWNUM()
     * @see #unsetROWNUM()
     * @see #getROWNUM()
     * @generated
     */
    void setROWNUM(int value);

    /**
     * Unsets the value of the '{@link org.dengues.model.component.PARAMETERType#getROWNUM <em>ROWNUM</em>}' attribute.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see #isSetROWNUM()
     * @see #getROWNUM()
     * @see #setROWNUM(int)
     * @generated
     */
    void unsetROWNUM();

    /**
     * Returns whether the value of the '{@link org.dengues.model.component.PARAMETERType#getROWNUM <em>ROWNUM</em>}' attribute is set.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @return whether the value of the '<em>ROWNUM</em>' attribute is set.
     * @see #unsetROWNUM()
     * @see #getROWNUM()
     * @see #setROWNUM(int)
     * @generated
     */
    boolean isSetROWNUM();

} // PARAMETERType
